package cn.fenqing.utils;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author fenqing
 */
public class DateUtils {

    enum Format{
        /**
         * 时间格式1
         */
        FORMAT_1(new SimpleDateFormat("yyyy-MM-dd")),
        /**
         * 时间格式2
         */
        FORMAT_2(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")),
        /**
         * 时间格式3
         */
        FORMAT_3(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"));
        private DateFormat dateFormat;

        Format(DateFormat dateFormat) {
            this.dateFormat = dateFormat;
        }

        public DateFormat getDateFormat() {
            return dateFormat;
        }
    }

    public static Date getOffset(Date date, int offset, int type){
        Calendar instance = Calendar.getInstance();
        instance.setTime(date);
        instance.add(type, offset);
        return instance.getTime();
    }

    public static String format(Date date){
        return Format.FORMAT_1.getDateFormat().format(date);
    }

    public static String format(Date date, Format format){
        return format.getDateFormat().format(date);
    }

}
